package edu.eam.proyectodesarrollojpa.entidades;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * The persistent class for the LINEA_INVESTIGACION database table.
 * 
 */
@Entity
@Table(name = "LINEA_INVESTIGACION")
public class LineaInvestigacion implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(allocationSize = 1, name = "LINEA_INVESTIGACION_IDLINEA_GENERATOR", sequenceName = "SEC_LINEA_INVESTIGACION")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "LINEA_INVESTIGACION_IDLINEA_GENERATOR")
	@Column(name = "IDLINEA")
	private Long idLinea;
	
	@Column(name = "DESCRIPCION_LINEA")
	private String descripcion;
	
	// uni-directional many-to-one association to TipoAlternativaInversion
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "GRUPO_LINEA_INVESTIGACION")
	private GrupoInvestigacion grupoInvestigacion;


	public LineaInvestigacion() {
	}


	/**
	 * Metodo encargado de retornar el valor del atributo idLinea
	 * @return El idLinea asociado a la clase
	 */
	public Long getIdLinea() {
		return idLinea;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo idLinea
	 * @param idLinea El nuevo idLinea a modificar.
	 */
	public void setIdLinea(Long idLinea) {
		this.idLinea = idLinea;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo descripcion
	 * @return El descripcion asociado a la clase
	 */
	public String getDescripcion() {
		return descripcion;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo descripcion
	 * @param descripcion El nuevo descripcion a modificar.
	 */
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}


	/**
	 * Metodo encargado de retornar el valor del atributo grupoInvestigacion
	 * @return El grupoInvestigacion asociado a la clase
	 */
	public GrupoInvestigacion getGrupoInvestigacion() {
		return grupoInvestigacion;
	}


	/**
	 * Metodo encargado de modificar el valor del atributo grupoInvestigacion
	 * @param grupoInvestigacion El nuevo grupoInvestigacion a modificar.
	 */
	public void setGrupoInvestigacion(GrupoInvestigacion grupoInvestigacion) {
		this.grupoInvestigacion = grupoInvestigacion;
	}




	


	
	
	
	
}